<?php
class Application{
	//运行项目
	static public function run(){
		header("Content-type:text/html;charset=utf-8");
		define('IS_POST',!empty($_POST));
		//初始化配置项
		C(require V5_PATH.'config.php');
		//当前请求的模块
		$module = isset($_GET[C('VAR_MODULE')])?$_GET[C('VAR_MODULE')]:'Index';
		//当前请求的控制器
		$controller = isset($_GET[C('VAR_CONTROLLER')])?$_GET[C('VAR_CONTROLLER')]:'Index';
		//当前请求的动作
		$action = isset($_GET[C('VAR_ACTION')])?$_GET[C('VAR_ACTION')]:'Index';
		$module = ucfirst($module);
		$controller = ucfirst($controller);
		//模块名
		define('MODULE',$module);
		//控制器名
		define('CONTROLLER',$controller);
		//本次执行的动作
		define("ACTION",$action);
		//模块目录
		define("MODULE_PATH",APP_PATH.$module.'/');
		//模板视图目录
		define('VIEW_PATH',MODULE_PATH.'View/');
		//控制器目录
		define("CONTROLLER_PATH",MODULE_PATH.'Controller/');
		//模型目录
		define("MODEL_PATH",MODULE_PATH.'Model/');
		//加载模块配置项
		if(is_file(MODULE_PATH.'/Config/config.php')){
			C(require MODULE_PATH.'/Config/config.php');
		}
		//控制器文件
		$controllerFile = CONTROLLER_PATH.$controller.'Controller.class.php';
		if(!is_dir(MODULE_PATH)){
			halt('模块不存在');
		}
		if(!is_file($controllerFile)){
			halt('控制器不存在');
		}
		//加载控制器文件
		require $controllerFile;
		$class = $controller.'Controller';
		$obj  = new $class;
		$obj->$action();
	}
}